<#-- 这里提供一些项目中页面渲染的 工具宏  -->
<#import "../common/utils.ftl" as utils>
<#import "qqSite.ftl" as qqSite>
<#assign contextPath=(requestContext.contextPath)!""/>

<#--
	用户的图片（用户上传的图片）加载器
	fileName:图片路径
	alt:图片alt属性
	attr:其他属性
	isPFSLoad:是否使用PFS加载图片
-->
<#macro userImgRender fileName alt="" attr="" isPFSLoad=false>
	<#if isPFSLoad>
		<#local data=pfsUtil.getUrl(fileName)/>
	<#else>
		<#local data=fileName/>
	</#if>
    <@imgRender url=data alt=alt attr=attr/>
</#macro>

<#--
	系统图片加载器
	url:图片路径
	alt:图片alt属性
	attr:其他属性
-->
<#macro imgRender url alt="" attr="">
	<#if utils.isNotEmpty(alt)>
		<#local altAttr='alt="${alt}"'/>
	<#else>
		<#local altAttr=''/>
	</#if>
	
	<#if url?starts_with("http://")>
		<img src="${contextPath}/static/images/resource/lazyload.grey.gif" ${altAttr} is-lazyload="1" data="${url}" ${attr}>
	<#else>
		<img src="${contextPath}/static/images/resource/lazyload.grey.gif" ${altAttr} is-lazyload="1" data="${contextPath}/static/images/resource/${url}" ${attr}>
	</#if>
</#macro>

<#--
	将常量描述Map 转换成标签数据源
	如果有不希望被显示出来的标识值 请将key放入filter
-->
<#function conversionConstMapToTagData constMap={} constFilter=[]>
	<#local data = []/>
	<#if utils.hasItem(constFilter![])>
		<#list (constMap?keys)![] as const>
			<#local isFilter=false/>
			<#list constFilter as filterConst>
				<#if (filterConst?string)==const>
					<#local isFilter=true/>
					<#break/>
				</#if>
			</#list>
			<#if !isFilter>
				<#local data=data+[{"value":const,"text":constMap[const]}]/>
			</#if>
		</#list>
	<#else>
		<#list (constMap?keys)![] as const>
			<#local data=data+[{"value":const,"text":constMap[const]}]/>
		</#list>
	</#if>
	<#return data/>
</#function>

<#--
	加载地理位置
	district 地理位置id
	class
-->
<#function loadDistrict district class="">
	<#if utils.isNotEmpty(class)>
		<#local classAttr="class='"+class+"'"/>
	<#else>
		<#local classAttr=""/>
	</#if>
	<#return '<span id="${(district)!""}" district="text" ${classAttr}>未知</span>'/>
</#function>

<#--
	加载联系QQ
-->
<#macro loadQQ qq>
	${loadQQFun(qq)}
</#macro>

<#--
	获取联系QQ Text
-->
<#function loadQQFun qq>
	<#if utils.isNotEmpty(qq)>
		<#return qq+qqSite.qqSiteFun(qq)/>
	<#else>
		<#return ""/>
	</#if>
</#function>